import Vue from 'vue'
import App from './App.vue'

// Vue.config.productionTip = false
//路由配置好之后需引入路由
import router from '@/router'
//引入仓库
import store from './store';
//按需引入Element-UI
import { Button, MessageBox } from 'element-ui';

//三级联动组件————全局组件(在入口文件定义全局组件即可)
import TypeNav from '@/components/TypeNav'
import Carousel from '@/components/Carousel'
import Pagination from '@/components/Pagination'

// Vue.component(TypeNav.name, TypeNav);第一个参数：表示全局组件的名字。第二个参数：表示是哪一个组件
Vue.component(TypeNav.name, TypeNav);
Vue.component(Carousel.name, Carousel)
Vue.component(Pagination.name, Pagination)
Vue.component(Button.name, Button);
//ElementUI注册全局组件时，可写在原型上
Vue.prototype.$msgbox = MessageBox;
Vue.prototype.$alert = MessageBox.alert;

//引入MockServer.js————mock数据
import "@/mock/mockServe";

//引入swiper样式
import "swiper/css/swiper.css";

//统一接口api文件夹里全部的请求函数
import * as API from '@/api';

//引入插件
import VueLazyload from 'vue-lazyload'
//引入需使用的图片
import green from '@/assets/green.gif'
//注册插件
Vue.use(VueLazyload, {
        //懒加载默认的图片
        loading: green
    })
    // import { reqGetSearchInfo } from '@/api'
    // console.log(reqGetSearchInfo({}));

//测试一下
/* import { reqCategoryList } from '@/api'
reqCategoryList(); */


//引入表单校验插件
import "@/plugins/validate.js"

new Vue({
    render: h => h(App),
    //引入路由之后要注册路由：以下的写法是KV键值对，一致省略V【router应小写】
    //全局事件总线$bus配置
    beforeCreate() {
        Vue.prototype.$bus = this;
        Vue.prototype.$API = API;
    },

    //$route(路由)：可获取到路由信息（path、query、params）
    //$router：进行编程式导航路由跳转 push或replace
    router,
    //注册仓库：组件实例的身上会多一个属性：$store属性。
    store
}).$mount('#app');